Aula 11 - Introdução aos gráficos

Módulo 1: Introdução ao R

Carolina Musso

PROFESP, DEMSP, MS

Semana 4

  • Aula 10 - Correção exercícios

  • Aula 11 - Introdução ao mundo dos gráficos

  • Aula 12 - Fim do módulo e apresentação da tarefa

Leituras complementares

Ciclo da análise

  • “The simple graph has brought more information to the data analyst’s mind than any other device.” — John Tukey

  • “O gráfico simples trouxe mais informações à mente do analista de dados do que qualquer outro dispositivo”

    Curso - R

O Poder da Visualização

Uma imagem vale mais do que mil palavras

  • DataViz, para os íntimos

  • Muito importante já na parte de exploração dos dados

    • Ajudam ao cérebro a dar sentido em todas aquelas informações

    • Ajuda a levantar hipóteses

  • Importante na apresentação final dos resultados

ggplot2

Mas onde está o carregamento desse pacote no nosso software?

  • Ele faz parte do tidyverse!

  • Falando nisso, a versão mais recente do tidyverse acabou de ser lançada (2.0.0) - agora com lubridate.

O que vamos (começar) aprender nessa aula

  • Uma forma mais rápida de visualizar (poucas linhas de código)

    • Sem muitas firulas visuais
  • Não vamos focar, no momento, em deixar os gráficos muito bonitos.

  • Adivinhem: o ggplot faz as duas coisas!

A lógica do ggplot2

A lógica do ggplot

  • O “canvas” vazio
who_bruto %>% 
ggplot()

  • Os dados (eixos)
who_bruto %>% 
  ggplot() +
  aes(x=New_cases, y=New_deaths)

  • A geometria
who_bruto %>% 
  ggplot() +
  aes(x=New_cases, y=New_deaths) +
  geom_point()

  • As firulas
who_bruto %>% 
  ggplot() +
  aes(x=New_cases, y=New_deaths) +
  geom_point(color="aquamarine") +
   labs(title = "Um título",
    subtitle = "Um subtítulo",
    x = "Número de Casos",
    y = "Número de óbitos",
    caption = "Fonte: WHO")+
  theme_classic()+
  scale_x_continuous(labels=function(x) format(x, 
                                               big.mark = ".",
                                               decimal.mark=",",
                                               scientific = FALSE),
                     breaks = seq(0, 10^7, by=10^6))+
  theme(
    legend.position = "bottom",                    
    plot.title = element_text(size = 30),          
    plot.caption = element_text(hjust = 0),        
    plot.subtitle = element_text(face = "bold"), 
    axis.text.x = element_text(color = "green", size = 10, angle = 45, vjust=0.65), 
    axis.text.y = element_text(size = 15),         
    axis.title = element_text(size = 20)          
    )+
  geom_smooth(color="indianred", se=T)+
  annotate(
    "label",
    x = pull(who_bruto[who_bruto$New_cases>6500000 ,"New_cases"]),
    y = pull(who_bruto[who_bruto$New_cases>6500000 ,"New_deaths"]),
    label = paste0(pull(who_bruto[who_bruto$New_cases>6500000 ,"Country"])," in \n",
                   pull(who_bruto[who_bruto$New_cases>6500000 ,"Date_reported"])),
    hjust = 1,
    vjust = -1) +
   annotate(
     "curve",
   x = 6500000,
   xend = pull(who_bruto[who_bruto$New_cases>6500000 ,"New_cases"]),
   y = 3000,
   yend = pull(who_bruto[who_bruto$New_cases>6500000 ,"New_deaths"]),
   arrow = arrow(
       type = "closed",
       length = unit(.2, "cm")
     ),
     colour = "red",
     curvature = -.4,
   alpha=0.8
   )

Lógica do ggplot

As camadas são adicionadas com um “+”

  • Diferença + para %>%
  • Há as partes estáticas e partes que dinâmicas (que respondem aos dados)
  • Cuidado com as aspas (principalmente nas opções de parâmetros)!
  • Conheça as variáveis (numéricas ou categóricas)
  • É preciso ter no mínimo a função ggplot() e uma função de geometria geom_?()
  • Há várias formas de escrever a mesma coisa!
  • Vamos ao R-Studio!

Desafio

  • Diferença do fill= dentro ou fora do aes() ?

Mais Dicas

Obrigada!